﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using RoccaStore.Upload;

namespace RoccaStore.Services
{
    public interface IFileInfoService
    {
        FileInfo GetByID(int id);
        FileInfo GetBySlug(string slug);
        List<FileInfo> GetByFileSendID(int fileSendId);

        int Save(FileInfo fileInfo);

        int Compress(int slugId);

        FileInfo SaveAs(System.Web.HttpPostedFileBase fileBase);

        bool CheckFileAllowed(string filetype);

        void Upload(string ip, int? accountId, string uploadId, string folder, Uri uri, string filePath);

        UploadProgress GetUploadProgress(string basePath, string uploadId);

        void CleanUp(string basePath);
    }
}
